import axios from 'axios';
import qs from 'qs';
// import {Toast, Indicator} from 'mint-ui';
// import getToken from "../js/getToken";
import Client from '../js/common';

// const getTokens = () => {
//   let StoreToken = Client.getStore("token");
//   return StoreToken.token;
// }
const getToken = () => {
  let obj = Client.getStore("CMSToken");
  let token = null;
  if(obj) {
    token = obj.token;
  }
  return token;
}

// let ApiUrl = "http://www.yaaron.net/imitate"; // 线上
let ApiUrl = "http://localhost:8080/"; // 本地
 
axios.defaults.timeout = 15000;
axios.interceptors.request.use(config => {
  //在发送请求之前做某件事
  //  Indicator.open(); 
   if(!(config.data instanceof FormData)) {
    if(config.method == 'post'){
      config.data = qs.stringify(config.data);
    }
   }
   return config;
 },error =>{
  //  Indicator.close(); 
  //  Toast("请求失败");
   return Promise.reject(error);
 });
 //返回状态判断(添加响应拦截器)
 axios.interceptors.response.use(res =>{
   //对响应数据做些事
  //  Indicator.close();
   if(res.data.code !== 0){
    //  Toast(res.data.msg);
     return Promise.reject(res.data);
   }
   return res.data;
 }, error => {
    // Indicator.close(); 
    // Toast("网络异常,请稍后再试");
    return Promise.reject(error);
 });
 //返回一个Promise(发送post请求)
 export function fetch(urls, params, head={}) {
    return axios.post(ApiUrl + urls, params,{headers:{token: getToken()}});
    // return axios.post(ApiUrl + urls, params);
 }
 export function fetchGet(urls, OBJ) {
  return axios.get(ApiUrl + urls, {params:{...OBJ},headers:{token: getToken()}});
  // return axios.get(ApiUrl + urls, {params:{...OBJ}});
}
